With the recent increases in computation speed and power in computer graphics equipment, it has now become feasible to animate by computer a full-body, three-dimensional, cartoon character in real-time (24 to 30 frames per second) using real-time positional data from a human actor. In real-time computer animation, it is desirable to have the cartoon character (or virtual-reality character) move in relation to the motion of the human actor in a near instantaneous manner, which enables both the actor and the animation director to view and guide the animation results as the animation is being performed.
This type of computer animation requires between six to twenty (6-20) position and/or rotation sensors attached to selected parts of the human actor to adequately depict the motion of the character's head, torso, arms, hands, legs, and feet in relation to those of the human actor. Fewer sensors may be used when only some appendages of the character are to be animated (e.g., the upper body only for a ghost character), or when inverse kinematic calculations are used to estimate the motion of an appendage based on minimal number of sensors placed on the appendage. Fewer sensors may be needed when the animated character has fewer appendage joints than a human (such as a fish), and more sensors may be needed when the animated character has more joints (such as an insect). One prior art approach attaches reflective "dots" on the human actor and uses a number of cameras, set at different angles, to record the motion of all the dots. Two or more two-dimensional trajectories for each dot are thereby recorded by the cameras, and these two-dimensional trajectories are then analyzed by computer to find the three-dimensional trajectory for the dot. Unfortunately, this approach has a number of disadvantages, the primary one being that it is often impossible for the computer to reliably determine the trajectories of two dots which collide in one or more of the camera views. A human operator is required to aid the computer program in making the determination. This disadvantage makes it nearly impossible to use the reflective-dot system for real-time animation applications.
A more reliable approach is to employ electromagnetic sensors which output three-dimensional data, thereby avoiding the problem of having to determine a three-dimensional trajectory from two or more two-dimensional trajectories. One such electromagnetic sensor is the ULTRATRAK sensor (Polhemus Company, Colchester, Vt., USA), which is set in a magnetic field pattern, and provides X, Y, and Z position information with respect to a reference point in the magnetic field, and also provides .theta..sub.X, .theta..sub.Y and .theta..sub.Z, rotational information with respect to the reference point. Each sensor is packaged in a relatively small housing (3 cm.times.2.5 cm.times.1.5 cm), and has relatively thick (0.5 cm diameter) cable emanating from the housing to carry the data to the computer. When using full sensor data and not relying on kinematic computations, each arm appendage (which includes shoulder, arm, wrist, and hand) requires four (4) sensors, and each leg appendage (which includes hip, leg, ankle, and foot) requires four (4) sensors. When animating the upper body, a sensor will be needed for the chest, and a sensor will be needed for the head. Typically, a total of eighteen (18) sensors would be needed to animate a humanoid character.
For this approach to work, the cables from the sensors must be routed so that they do not unduly restrict the actor's motions, and do not entangle the actor. Also, each sensor has to be affixed to the actor as firmly as possible in order to prevent slippage between the sensor and the actor, and thus prevent errors between the motion of the actor and the motion of the animated character. But, on the other hand, the attachment of the sensors and routing of the cables must be comfortable to the human actor since he will be acting with the sensors for several hours at a time, usually 5 hours or more, under typical production conditions.
Through their experience in developing real-time computer animation to successfully operate in real-life production environments, the inventors have found that the following three additional requirements, which have not been recognized by the prior art, must be met:
(1) In order to easily accommodate a number of restroom breaks and dinner breaks for the actor throughout the production day, the sensors and cables must be quickly and easily removed and re-attached. PA1 (2) Since an electromagnetic sensor can periodically break and malfunction (typically once every 10 production days), and since production costs are typically $2,000 per hour, the sensors and cables must be easy to replace to minimize downtime. PA1 (3) There must be flexibility in the placement of the sensors in order to provide the best correspondence of motion between the human actor and the animated character. Conventional thought in the prior art is that the sensor placement is not important and that the computer can mathematically scale the sensor data to match the dimensions of the animated character. The inventors, however, have found that certain locations provide the best sensor data, and that the best locations often depend upon the particular morphology of the actor as well as that of the animated character. The inventors have found that, in real production environments, the morphologies of the actors vary widely, and that the morphologies of the animated characters vary widely. In order to be effective in a real production environment, the sensors must be able to easily adapt to fit different actor morphologies and character morphologies while providing the best data, while being comfortable to the actor, and while being in the most secure position.
As will be apparent to the reader, several of these requirements are conflicting with one another. The present invention is directed to addressing these conflicting requirements to enable real-time computer animation to operate in production environments.